#include<iostream>
#include<vector>
using namespace std;
int n,k;
vector<int> a;
int count,c_c;
int zs(int n){
	for(int i=0;i<=n/2+1;i++){
		if(n%i==0){
			return 0;
		}
	}
	return 1;
}
void DFS(int b,int s){
	if(s==0){
		if(zs(c_c)==1){
			count++;
		}
		c_c=0;
		return;
	}
	c_c+=a[b];
	for(int i=b+1;i<n;i++){
		DFS(i,s-1);
	}
}
int main(){
	cin>>n>>k;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	for(int i=0;i<n-1;i++){
		for(int j=0;j<n-1-i;j++){
			if(a[j]<a[j+1]){
				int y=a[j];
				a[j]=a[j+1];
				a[j+1]=y;
			}
		}
	}
	DFS(0,k);
	cout<<count;
}
